package leetcode_900;

/**
 *@author 周杨
 *BinaryGap_868 给定一个正整数 问其二进制中两个连着出现(不是连续)的1 的最大距离
 *describe:常规题目 用运算符解决 AC 100%
 *2018年11月6日 下午1:43:52
 */
public class BinaryGap_868 {
	public static void main(String[] args) {
		BinaryGap_868 test=new BinaryGap_868();
		System.out.println(test.binaryGap(5));
		System.out.println(test.binaryGap(5));
	}
	
	public int binaryGap(int N) {
		int res=0;
        int right=-1;
        for(int i=0;i<32;++i) {
        	if(((N>>i)&1)==1) {
        		if(right==-1)
        			right=i;
        		else {
        			res=Math.max(res, i-right);
        			right=i;
        		}
        	}
        }
        return res;
    }
}
